#include <iostream>

using namespace std;

template <class T1, class T2>
class foo {
public:
        T1 a;
        T1 b;
        T2 d;
        foo() {}
        foo(T1 aa, T1 bb, T2 dd) {a = aa, b = bb, d = dd;}
        //friend ostream &operator<<(ostream &os, const foo &);
};

#if 0
ostream &operator<<(ostream &os, const foo &d)
{
        os << "(" << d.a << "," << d.b << "," << d.d << ")";
}
#endif

int main()
{
        foo<int, double> bar(1,3, 7.9);

        cout << "(" << bar.a << "," << bar.b << "," << bar.d << ")" << endl;
        //cout << bar << endl;

        return 0;
}
